import Vue from 'vue'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import App from './App.vue'
import router from './router'
import store from './store'
// 引入样式
import './styles/index.scss'
import { rootLogin } from '@/api'
import 'reset-css'
Vue.config.productionTip = false
Vue.use(ElementUI)
// 添加一个全局的路由守卫（路由拦截）。next是一个函数，表示下一步需要跳转到哪里去，必须调用

router.beforeEach((to, from, next) => {
  // 如果用户登录，应该让它任意访问，不阻拦它。需要调用next()
  // 如果用户没有登录
  // 它访问的是/login,不拦他，直接让它访问，调用next()
  // 它访问的不是/login,要拦住它，让它访问login, 调用next('/login')
  // let token = localStorage.getItem('token')
  if (to.name !== 'Login') {
    rootLogin()
      .then(res => {
        console.log(res)
        if (res.data.success) {
          next()
        } else if (res.data.error) {
          console.log(res.data)
          // console.log(ElementUI)
          ElementUI.Message.error(res.data.message)
          next('/Login')
          // next(vm => {
          //   // 通过 `vm` 访问组件实例
          //   vm.$message.error(res.data.message)
          // })
        }
      })
  } else {
    // 访问的是/login
    next()
  }

  // if (token) {
  //   // 登录了直接进入下一步，不拦
  //   next()
  // } else {
  //   // console.log(to)
  //   // 访问的不是/login
  //   if (to.name !== 'login') {
  //     next('/login')
  //   } else {
  //     // 访问的是/login
  //     next()
  //   }
  // }
})
new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
